// Copyright 2021-2025 Buf Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Author: kenton@google.com (Kenton Varda)
//  Based on original Protocol Buffers design by
//  Sanjay Ghemawat, Jeff Dean, and others.
//
// This file is similar to unittest_mset_wire_format.proto, but does not
// have a TestMessageSet, so it can be downgraded to proto1.

// @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=js"
// @generated from file google/protobuf/unittest_mset.proto (package proto2_unittest, syntax proto2)
/* eslint-disable */

import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { TestMessageSet } from "./unittest_mset_wire_format_pb.js";
import { file_google_protobuf_unittest_mset_wire_format } from "./unittest_mset_wire_format_pb.js";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file google/protobuf/unittest_mset.proto.
 */
export const file_google_protobuf_unittest_mset: GenFile = /*@__PURE__*/
  fileDesc("CiNnb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfbXNldC5wcm90bxIPcHJvdG8yX3VuaXR0ZXN0IloKF1Rlc3RNZXNzYWdlU2V0Q29udGFpbmVyEj8KC21lc3NhZ2Vfc2V0GAEgASgLMioucHJvdG8yX3dpcmVmb3JtYXRfdW5pdHRlc3QuVGVzdE1lc3NhZ2VTZXQi4wEKHU5lc3RlZFRlc3RNZXNzYWdlU2V0Q29udGFpbmVyEjsKCWNvbnRhaW5lchgBIAEoCzIoLnByb3RvMl91bml0dGVzdC5UZXN0TWVzc2FnZVNldENvbnRhaW5lchI9CgVjaGlsZBgCIAEoCzIuLnByb3RvMl91bml0dGVzdC5OZXN0ZWRUZXN0TWVzc2FnZVNldENvbnRhaW5lchJGCgpsYXp5X2NoaWxkGAMgASgLMi4ucHJvdG8yX3VuaXR0ZXN0Lk5lc3RlZFRlc3RNZXNzYWdlU2V0Q29udGFpbmVyQgIoASJUCg1OZXN0ZWRUZXN0SW50EgkKAWEYASABKAcSCQoBYhgDIAEoBRItCgVjaGlsZBgCIAEoCzIeLnByb3RvMl91bml0dGVzdC5OZXN0ZWRUZXN0SW50Io0CChhUZXN0TWVzc2FnZVNldEV4dGVuc2lvbjESCQoBaRgPIAEoBRI9CglyZWN1cnNpdmUYECABKAsyKi5wcm90bzJfd2lyZWZvcm1hdF91bml0dGVzdC5UZXN0TWVzc2FnZVNldBIZCg10ZXN0X2FsaWFzaW5nGBEgASgJQgIIAjKLAQoVbWVzc2FnZV9zZXRfZXh0ZW5zaW9uEioucHJvdG8yX3dpcmVmb3JtYXRfdW5pdHRlc3QuVGVzdE1lc3NhZ2VTZXQYsKZeIAEoCzIpLnByb3RvMl91bml0dGVzdC5UZXN0TWVzc2FnZVNldEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24itQEKGFRlc3RNZXNzYWdlU2V0RXh0ZW5zaW9uMhILCgNzdHIYGSABKAkyiwEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhIqLnByb3RvMl93aXJlZm9ybWF0X3VuaXR0ZXN0LlRlc3RNZXNzYWdlU2V0GPm7XiABKAsyKS5wcm90bzJfdW5pdHRlc3QuVGVzdE1lc3NhZ2VTZXRFeHRlbnNpb24yUhNtZXNzYWdlU2V0RXh0ZW5zaW9uIuwBChhUZXN0TWVzc2FnZVNldEV4dGVuc2lvbjMSKwoDbXNnGCMgASgLMh4ucHJvdG8yX3VuaXR0ZXN0Lk5lc3RlZFRlc3RJbnQSFAoMcmVxdWlyZWRfaW50GCQgAigFMowBChVtZXNzYWdlX3NldF9leHRlbnNpb24SKi5wcm90bzJfd2lyZWZvcm1hdF91bml0dGVzdC5UZXN0TWVzc2FnZVNldBipw45dIAEoCzIpLnByb3RvMl91bml0dGVzdC5UZXN0TWVzc2FnZVNldEV4dGVuc2lvbjNSE21lc3NhZ2VTZXRFeHRlbnNpb24ibAoNUmF3TWVzc2FnZVNldBIxCgRpdGVtGAEgAygKMiMucHJvdG8yX3VuaXR0ZXN0LlJhd01lc3NhZ2VTZXQuSXRlbRooCgRJdGVtEg8KB3R5cGVfaWQYAiACKAUSDwoHbWVzc2FnZRgDIAIoDEIFSAH4AQE", [file_google_protobuf_unittest_mset_wire_format]);

/**
 * @generated from message proto2_unittest.TestMessageSetContainer
 */
export type TestMessageSetContainer = Message<"proto2_unittest.TestMessageSetContainer"> & {
  /**
   * @generated from field: optional proto2_wireformat_unittest.TestMessageSet message_set = 1;
   */
  messageSet?: TestMessageSet;
};

/**
 * Describes the message proto2_unittest.TestMessageSetContainer.
 * Use `create(TestMessageSetContainerSchema)` to create a new message.
 */
export const TestMessageSetContainerSchema: GenMessage<TestMessageSetContainer> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 0);

/**
 * @generated from message proto2_unittest.NestedTestMessageSetContainer
 */
export type NestedTestMessageSetContainer = Message<"proto2_unittest.NestedTestMessageSetContainer"> & {
  /**
   * @generated from field: optional proto2_unittest.TestMessageSetContainer container = 1;
   */
  container?: TestMessageSetContainer;

  /**
   * @generated from field: optional proto2_unittest.NestedTestMessageSetContainer child = 2;
   */
  child?: NestedTestMessageSetContainer;

  /**
   * @generated from field: optional proto2_unittest.NestedTestMessageSetContainer lazy_child = 3;
   */
  lazyChild?: NestedTestMessageSetContainer;
};

/**
 * Describes the message proto2_unittest.NestedTestMessageSetContainer.
 * Use `create(NestedTestMessageSetContainerSchema)` to create a new message.
 */
export const NestedTestMessageSetContainerSchema: GenMessage<NestedTestMessageSetContainer> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 1);

/**
 * @generated from message proto2_unittest.NestedTestInt
 */
export type NestedTestInt = Message<"proto2_unittest.NestedTestInt"> & {
  /**
   * @generated from field: optional fixed32 a = 1;
   */
  a: number;

  /**
   * @generated from field: optional int32 b = 3;
   */
  b: number;

  /**
   * @generated from field: optional proto2_unittest.NestedTestInt child = 2;
   */
  child?: NestedTestInt;
};

/**
 * Describes the message proto2_unittest.NestedTestInt.
 * Use `create(NestedTestIntSchema)` to create a new message.
 */
export const NestedTestIntSchema: GenMessage<NestedTestInt> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 2);

/**
 * @generated from message proto2_unittest.TestMessageSetExtension1
 */
export type TestMessageSetExtension1 = Message<"proto2_unittest.TestMessageSetExtension1"> & {
  /**
   * @generated from field: optional int32 i = 15;
   */
  i: number;

  /**
   * @generated from field: optional proto2_wireformat_unittest.TestMessageSet recursive = 16;
   */
  recursive?: TestMessageSet;

  /**
   * @generated from field: optional string test_aliasing = 17;
   */
  testAliasing: string;
};

/**
 * Describes the message proto2_unittest.TestMessageSetExtension1.
 * Use `create(TestMessageSetExtension1Schema)` to create a new message.
 */
export const TestMessageSetExtension1Schema: GenMessage<TestMessageSetExtension1> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 3);

/**
 * @generated from extension: optional proto2_unittest.TestMessageSetExtension1 message_set_extension = 1545008;
 */
export const TestMessageSetExtension1_message_set_extension: GenExtension<TestMessageSet, TestMessageSetExtension1> = /*@__PURE__*/
  extDesc(file_google_protobuf_unittest_mset, 3, 0);

/**
 * @generated from message proto2_unittest.TestMessageSetExtension2
 */
export type TestMessageSetExtension2 = Message<"proto2_unittest.TestMessageSetExtension2"> & {
  /**
   * @generated from field: optional string str = 25;
   */
  str: string;
};

/**
 * Describes the message proto2_unittest.TestMessageSetExtension2.
 * Use `create(TestMessageSetExtension2Schema)` to create a new message.
 */
export const TestMessageSetExtension2Schema: GenMessage<TestMessageSetExtension2> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 4);

/**
 * @generated from extension: optional proto2_unittest.TestMessageSetExtension2 message_set_extension = 1547769;
 */
export const TestMessageSetExtension2_message_set_extension: GenExtension<TestMessageSet, TestMessageSetExtension2> = /*@__PURE__*/
  extDesc(file_google_protobuf_unittest_mset, 4, 0);

/**
 * @generated from message proto2_unittest.TestMessageSetExtension3
 */
export type TestMessageSetExtension3 = Message<"proto2_unittest.TestMessageSetExtension3"> & {
  /**
   * @generated from field: optional proto2_unittest.NestedTestInt msg = 35;
   */
  msg?: NestedTestInt;

  /**
   * @generated from field: required int32 required_int = 36;
   */
  requiredInt: number;
};

/**
 * Describes the message proto2_unittest.TestMessageSetExtension3.
 * Use `create(TestMessageSetExtension3Schema)` to create a new message.
 */
export const TestMessageSetExtension3Schema: GenMessage<TestMessageSetExtension3> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 5);

/**
 * @generated from extension: optional proto2_unittest.TestMessageSetExtension3 message_set_extension = 195273129;
 */
export const TestMessageSetExtension3_message_set_extension: GenExtension<TestMessageSet, TestMessageSetExtension3> = /*@__PURE__*/
  extDesc(file_google_protobuf_unittest_mset, 5, 0);

/**
 * MessageSet wire format is equivalent to this.
 *
 * @generated from message proto2_unittest.RawMessageSet
 */
export type RawMessageSet = Message<"proto2_unittest.RawMessageSet"> & {
  /**
   * @generated from field: repeated proto2_unittest.RawMessageSet.Item item = 1;
   */
  item: RawMessageSet_Item[];
};

/**
 * Describes the message proto2_unittest.RawMessageSet.
 * Use `create(RawMessageSetSchema)` to create a new message.
 */
export const RawMessageSetSchema: GenMessage<RawMessageSet> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 6);

/**
 * @generated from message proto2_unittest.RawMessageSet.Item
 */
export type RawMessageSet_Item = Message<"proto2_unittest.RawMessageSet.Item"> & {
  /**
   * @generated from field: required int32 type_id = 2;
   */
  typeId: number;

  /**
   * @generated from field: required bytes message = 3;
   */
  message: Uint8Array;
};

/**
 * Describes the message proto2_unittest.RawMessageSet.Item.
 * Use `create(RawMessageSet_ItemSchema)` to create a new message.
 */
export const RawMessageSet_ItemSchema: GenMessage<RawMessageSet_Item> = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_mset, 6, 0);

